using System;

namespace Sagile.Nepma
{
    /// <summary>
    /// Represents the parameters of a ManageableTask event.
    /// </summary>
    public class ManageableTaskEventArgs : EventArgs
    {
        #region Attributes
        
        private string _name;
        private string _reason;
        private string _id;
        
        #endregion Attributes

        #region Properties

        /// <summary>
        /// Gets or sets the task name.
        /// </summary>
        /// <value>The name.</value>
        public string Name
        {
            get { return _name; }
            set { _name = value; }
        }

        /// <summary>
        /// Gets or sets the task ID.
        /// </summary>
        /// <value>The ID.</value>
        public string ID
        {
            get { return _id; }
            set { _id = value; }
        }

        /// <summary>
        /// Gets or sets the event reason.
        /// </summary>
        /// <value>The reason.</value>
        public string Reason
        {
            get { return _reason; }
            set { _reason = value; }
        }

        #endregion Properties

        #region Constructor

        /// <summary>
        /// Initializes a new instance of the <see cref="ManageableTaskEventArgs"/> class.
        /// </summary>
        /// <param name="id">The id.</param>
        /// <param name="name">The name.</param>
        /// <param name="reason">The reason.</param>
        public ManageableTaskEventArgs(string id, string name, string reason)
        {
            _id = id;
            _name = name;
            _reason = reason;
        }

        #endregion Constructor
    }
}
